'\" t
.TH "SYSTEMD\-ASK\-PASSWORD" "1" "" "systemd 231" "systemd-ask-password"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
systemd-ask-password \- 向用户索要密码
.SH "SYNOPSIS"
.HP \w'\fBsystemd\-ask\-password\ \fR\fB[OPTIONS...]\fR\fB\ \fR\fB[MESSAGE]\fR\ 'u
\fBsystemd\-ask\-password \fR\fB[OPTIONS...]\fR\fB \fR\fB[MESSAGE]\fR
.SH "描述"
.PP
\fBsystemd\-ask\-password\fR
通过向用户显示
[MESSAGE]
消息的方式索要密码或口令。 当在TTY上运行时，它将从TTY读取密码， 然后再将密码打印到标准输出。 当不在TTY上运行或使用
\fB\-\-no\-tty\fR
选项时， 它将向全系统范围询问密码， 并允许活动用户通过多种密码代理进行应答。 后一种方式仅供特权进程使用。
.PP
此工具主要用于向全系统范围索要不特定于某个账户的密码。 例如：用于解开加密硬盘的密码、 用于解开SSL证书的口令(常用于HTTP/VPN服务器)。
.PP
目前可用的密码代理如下：
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBPlymouth\fR(8)
(一个显示启动动画的工具，亦可用作启动时密码代理)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
启动时直接在控制台上向用户索要密码的密码代理
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
通过
\fBwall\fR(1)
消息获取密码的密码代理
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
能够被临时启动 以处理一系列连续请求的命令行密码代理
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
可配合
\fBsystemctl\fR(1)
命令临时启动的TTY密码代理
.RE
.PP
此外， 还可以根据
\m[blue]\fBsystemd Password Agent Specification\fR\m[]\&\s-2\u[1]\d\s+2
规范编写其他类型的密码代理。
.PP
在TTY上输入密码时，用户可以按一下TAB键， 这样在输入密码时就不会显示星号。 在开始输入密码前按退格键(Backspace)也有同样的效果。
.SH "选项"
.PP
能够识别的命令行选项如下：
.PP
\fB\-\-icon=\fR
.RS 4
在询问密码的同时显示一个图标， 仅用于图形界面的密码代理。 图标名称必须遵守
\m[blue]\fBXDG 图标命名规范\fR\m[]\&\s-2\u[2]\d\s+2。
.RE
.PP
\fB\-\-id=\fR
.RS 4
为此次密码索要动作指定一个标识符， 以辨别此密码适用于密码代理的哪个请求。 其中必须包含 请求密码的子系统以及密码的作用对象。 例如：
"\-\-id=cryptsetup:/dev/sda5"
.RE
.PP
\fB\-\-keyname=\fR
.RS 4
指定一个用于缓存密码的内核密钥环(keyring)名称。 设置此选项表示 尽可能将收集到的密码缓存到指定的内核密钥环(keyring)中(该密钥环必须属于root用户)。 若与
\fB\-\-accept\-cached\fR
一起使用， 则表示首先从指定的内核密钥环缓存中查找所需密码， 仅在找不到的情况下才提示用户输入， 这样当多个对象都使用同一个密码时， 就可以避免让用户反复输入同一个密码。 密码的缓存有效期是2\&.5分钟， 超时后将被删除。 同一个内核密钥环中可以缓存多个密码。 可以使用
\fBkeyctl\fR(1)
工具访问内核密钥环中缓存的密码。 例如：
"\-\-keyname=cryptsetup"
.RE
.PP
\fB\-\-timeout=\fR
.RS 4
设置等待用户输入密码的最大时长。 默认"90s"，设为"0"表示无限等待。
.RE
.PP
\fB\-\-echo\fR
.RS 4
直接显示用户的输入(而不是显示为星号或者不显示)， 常用于输入无需保密的用户名。
.RE
.PP
\fB\-\-no\-tty\fR
.RS 4
不在当前TTY上读取密码(即使当前TTY可用)， 而是从密码代理读取密码。
.RE
.PP
\fB\-\-accept\-cached\fR
.RS 4
允许从密码缓存中查找先前曾经输入过的密码。
.RE
.PP
\fB\-\-multiple\fR
.RS 4
与
\fB\-\-accept\-cached\fR
连用， 表示可以接收多个密码(每行输出一个密码)。
.RE
.PP
\fB\-\-no\-output\fR
.RS 4
不在标准输出上打印密码。 此选项常用于 仅希望将密码存储到内核密钥环中(\fB\-\-keyname\fR)， 而不希望显示在屏幕上或记录到日志中。
.RE
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
显示简短的帮助信息并退出。
.RE
.SH "退出状态"
.PP
返回值为 0 表示成功， 非零返回值表示失败代码。
.SH "参见"
.PP
\fBsystemd\fR(1),
\fBsystemctl\fR(1),
\fBkeyctl\fR(1),
\fBplymouth\fR(8),
\fBwall\fR(1)
.SH "NOTES"
.IP " 1." 4
systemd Password Agent Specification
.RS 4
\%http://www.freedesktop.org/wiki/Software/systemd/PasswordAgents
.RE
.IP " 2." 4
XDG 图标命名规范
.RS 4
\%http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
.RE
.\" manpages-zh translator: 金步国
.\" manpages-zh comment: 金步国作品集：http://www.jinbuguo.com
